package com.navinfo.tripanalysis.service;

import com.navinfo.tripanalysis.common.arithmetic.common.DrivingData;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SparkSession;

import java.util.Date;

/**
 * 算法链计算的中间结果的缓存
 * @author 沈东生
 */
public interface DrivingDataService {
    /**
     * 获取昨日的中间数据
     * @param jsc
     * @param spark
     * @param date 当前日期毫秒数
     * @return
     */
    JavaPairRDD<Long,DrivingData> getRDD(JavaSparkContext jsc, SparkSession spark, long date);

    /**
     * 保存中间数据
     * @param spark
     * @param jsc
     * @param pairTidDrivingData
     * @param date
     */
    void save(SparkSession spark,JavaSparkContext jsc, JavaPairRDD<Long, DrivingData> pairTidDrivingData, long date);
}
